package com.yeyks.common.utils.apputil.rediskey;

/**
 * 常用数据的Key前缀
 * @author Administrator
 */
public class RedisKey {

    /**
     * 账户token
     */
    public static final String ACCOUNT_TOKEN = "account:token:";


    /**
     * 只允许修改一次密码
     */
    public static final String UPDATE_ONLY_ONE = "update:pwd:one";

    /**
     * 消息只消费一次
     */
    public static final String MQ_ONE_CUSTOMER = "mq:one:customer";

    /**
     * 地址最新JSON, 保存时间, 一个月, 或者更久
     */
    public static final String UPDATE_ADD_ADDRESS = "datasource:add:address";

    /**
     * 记录房态状态为0的超过99999的价格(及下架状态)
     */
    public static final String CNBOOKING_MAX_PRICE = "cnbooking:max:price";

    /**
     * 正常价格的房态下架 (及下架状态)
     */
    public static final String CNBOOKING_CALENDAR_PRICE = "cnbooking:calendar:price";

    /**
     * 路由的Key
     * @param key 角色的RoleId
     * @return 返回缓存的Key
     */
    public static String getRoleRouteKey(String key){return "sys:role:" + key; }

    /**
     * 抢单的Key，唯一，后面拼接的是【酒店账户ID】 --> 方便酒店查询接单的 订单列表
     */
    public static final String KEY = "grab:order:";

    /**
     * 抢单的HashKey, 跟Key联合组成唯一键， 后面拼接的是【下单人的ID+":"+搜索时间】
     */
    public static final String HASH_KEY = "user:";

    /**
     * 抢单的维持时间秒数
     */
    public static final Integer KEEP_TIME = 15;

    /**
     * 请求的ipKey
     */
    public static final String IP_KEY = "adminapp:sms:ip";

    /**
     * 同一IP每10分钟的最多次数
     */
    public static final Integer MINUTE_IP_COUNT = 10;

    /**
     * 同一IP每天最多次数
     */
    public static final Integer IP_COUNT = 100;


    /**
     * 删除失败的设备ID
     */
    public static final String FAILED_DEL_SET_OUT = "del:setout:fail";

    /**
     * 房态价格城市比例Key
     */
    public static final String CITY_PERCENT_PRICE = "calendar:city:percent:";

    /**
     * 优惠券推送KEY关联用户 + coupon_push_id   value为 用户集合ID
     */
    public static final String COUPON_PUSH_KEY_USER_ID= "coupon:push:user:";

    /**
     * 登录用户弹出的记录KEY + userId  value为优惠券列表
     */
    public static final String COUPON_PUSH_BY_LOGIN= "coupon:push:login:";

    /**
     * CN酒店1小时内更新过的酒店
     */
    public static final String CN_HOTEL_UPDATED= "cnbooking:hotel:updated:";

    /**
     * CN推送异常记录
     */
    public static final String CN_PUSH_LISTENER_ERROR= "cnbooking:push:listener:error:";

    /**
     * 异常自增ID
     */
    public static final String CN_PUSH_LISTENER_ID= "cnbooking:push:listener:id";
}
